Printing devices are devices that can print viewable content on physical media, such as paper or transparent sheets. Printing devices include printers and multi-function peripherals (MFPs) such as the Ricoh Aficio 5560 system. Typically, a printing device receives data from a computer via a network or cable. The printing device prints text/or and images that are represented by the data.
This data is usually generated by an application program that executes on the computer from which the printing device receives the data. Typically, the data represents a “document” that the application program creates. A user of the application program edits the document using mechanisms that the application program presents to the user. For example, a user might create and modify a document using a word processing application. For another example, a user might create and modify a document using an image editing application. As discussed herein, documents may include text, images, a combination of text and images, and/or other content.
Often, an application program provides a user with multiple options for saving a document that the user has created or modified. Some application programs allow a user to specify a type of format in which the document should be saved. For example, when a user instructs an application to save a document, the application might ask the user whether the user wants the document to be saved in Postscript, Tagged Image File Format (“TIFF”), American Standard Code for Information Interchange (“ASCII”) text, Joint Photographic Experts Group (“JPEG”), Graphics Interchange Format (“GIF”), Portable Document Format (“PDF”), bitmap, or some other type of format. Although the content represented by a particular document remains the same regardless of the type of format in which the document is saved, the structure of the persistently stored data that represents the document may vary based on the type. Usually, when an application saves a document as a selected type, the application stores, along with the data that represents the document's content, metadata that indicates the document's type. Such metadata permits the application to determine the manner in which the persistently stored data should be interpreted when the application loads the document from persistent storage at a later time. When an application saves a document, the application stores the document's representative data in a file on a persistent storage device such as a hard disk drive.
Applications are usually capable of loading, from files, documents that those applications previously saved. Additionally, some operating systems also provide application-independent printing mechanisms for printing documents that have been stored in files. For example, the LINUX operating provides a printing mechanism whereby a user can instruct a specified printing device to print a document that was previously stored in a specified file. When a user invokes this printing mechanism, the printing mechanism reads the document data from the specified file and sends the data to the specified printing device for printing. The printing mechanism does not need to involve, in the printing process, the application that generated or saved the specified file. Indeed, when such a printing mechanism is employed to print a document, the user's computer does not even need to have access to the application that generated or saved the specified file.
However, before the printing mechanism sends the data to the specified printing device, the printing mechanism may present a user interface to the user. The user interface may include various user-selectable options which, when selected, may influence the manner in which the printing device prints the document. For example, the options may include a characters-per-inch (“CPI”) option that affects font size, a scaling option, a duplex option, a watermark option, a staple option, and/or other options. Using the user interface, the user may select one or more of the options and then select a “print” button that is also presented in the user interface. The user's selection of the “print” button causes the printing mechanism to send the document data to the printing device along with instructions that cause the printing device to print the document in accordance with the selected options.
Unfortunately, as matters currently stand, user interfaces that application-independent printing mechanisms present to users often include user-selectable options which are not even appropriate for the type of document that is to be printed. For example, if the document is stored as a JPEG or GIF type document, then the user's selection and use of the “CPI” option typically will have no effect on how the document is printed. Indeed, any time that a document does not contain any text, a user's selection of the “CPI” option typically will have no effect. When a user selects such type-inappropriate options prior to selecting the “print” button, the user might expect that his selection of the option will influence the manner in which the printing device prints the document. The user may be disappointed and puzzled when the printing device apparently ignores the user's desires as expressed through the user's selection of options. The user might even conclude, erroneously, that the printing device might be malfunctioning.
Existing application-independent printing mechanisms typically present the same, uniform, static user interface to users regardless of the features or characteristics of the document that is to be printed. The static user interface presents the same user-selectable options regardless of whether the selection of those options will actually have any effect or influence on the way in which the printing device prints the document. As a result, a gap is often produced between a user's pre-printing expectations of how a document is going to look when printed and how that document actually looks after the printing device has printed that document. Additionally, the user interface's inclusion of some user-selectable options which are not applicable to a particular document can cause a user to become confused when the user is deciding which options to select.
Based on the foregoing, there is a need to eliminate the confusion and disappointment that users experience when printing devices print documents in a manner that does not conform to the options that those users selected through user interfaces.